#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
Muto Hexapod Robot Control Library

A comprehensive Python library for controlling six-legged robots.
Designed for Jetson Nano platform with Ubuntu system.

Author: YAHBOOM | Gentle Xu
Date: 2025/01
Version: 1.0.0
"""

__version__ = "1.0.0"
__author__ = "YAHBOOM | Gentle Xu"
__email__ = "support@yahboom.com"
__license__ = "MIT"
__description__ = "A comprehensive Python library for controlling six-legged robots"

# Import main controller class
from .MutoLargemodelInterface import MutoController

# Import core modules
from .core.MutoLib import MutoLib
from .core.hexapod import Hexapod
from .core.leg import Leg
from .core.servo import Servo

# Import Largemodel modules
from .Largemodel.robot_controller import RobotController
from .Largemodel.sensor_manager import SensorManager
from .Largemodel.navigation_manager import NavigationManager
from .Largemodel.position_manager import PositionManager
from .Largemodel.action_learning_manager import ActionLearningManager
from .Largemodel.config_manager import ConfigManager
from .Largemodel.response_validator import ResponseValidator

# Import movement modules
from .movement.movement import Movement
from .movement.kinematicLib import KinematicLib

# Define what gets imported with "from muto_hexapod_lib import *"
__all__ = [
    # Main controller
    "MutoController",
    
    # Core classes
    "MutoLib",
    "Hexapod", 
    "Leg",
    "Servo",
    
    # Largemodel classes
    "RobotController",
    "SensorManager",
    "NavigationManager",
    "PositionManager",
    "ActionLearningManager",
    "ConfigManager",
    "ResponseValidator",
    
    # Movement classes
    "Movement",
    "KinematicLib",
    
    # Package metadata
    "__version__",
    "__author__",
    "__email__",
    "__license__",
    "__description__",
]

# Package level convenience functions
def get_version():
    """Get the current version of the library."""
    return __version__

def get_info():
    """Get package information."""
    return {
        "name": "muto-hexapod-lib",
        "version": __version__,
        "author": __author__,
        "email": __email__,
        "license": __license__,
        "description": __description__,
    }

# Add to __all__
__all__.extend(["get_version", "get_info"])
